
const { defineConfig } = require('@vue/cli-service')
const path = require("path")
const UnoCSS = require('@unocss/webpack').default
// 打包文件名称
let fileName = ''
// 兼容性，以防打包崩溃
fileName = process.env.VUE_APP_NAME || 'dist'
// 配置打包文件名

const Timestamp = new Date().getTime();

module.exports = defineConfig({
  publicPath: './',
  outputDir: fileName,
  assetsDir: '',
  filenameHashing: true,
  configureWebpack: {
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "src/"),
      },
    },
    //
    plugins: [
      UnoCSS(),
    ],

    optimization: {
      realContentHash: true,
    },
    output: {
      filename: `js/[name].[contenthash].js`,
      chunkFilename: `js/[name].[contenthash].js`
    }
  },
  chainWebpack: config => {
    config
      .plugin('html')
      .tap(args => {
        args[0].title = "广西工业产品信息对接平台";
        return args
      })
  },
  css: {
    extract: {
      filename: `css/[name].[contenthash].css`,
      chunkFilename: `css/[name].[contenthash].css`
    }
  },
  lintOnSave: false,
  productionSourceMap: false,
  devServer: {
    // 使用环境变量配置代理
    proxy: {
      // 使用环境变量配置代理
      [process.env.VUE_APP_BASE_API]: {
        target: process.env.VUE_APP_BASE_URL, // 目标服务器地址
        changeOrigin: true, // 是否改变源地址
        hot: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: '' // 路径重写
        }
      }
    },
    client: {
      overlay: false // 编译错误时，取消全屏覆盖（建议关掉）
    }
  }
})